1. Field of the Invention
The present invention relates to a method for converting colors using an error correction table (e.g. color lookup table) so that colors are created and displayed/outputted by a suitable display/output device.
2. Description of the Related Art
As generally known in the art, color regeneration apparatuses including scanners, printers, monitors, and recently-developed mobile LCDs are evolving. These devices are moving towards multi-functionality, high quality, and low price, in order to satisfy various user demands. Color regeneration apparatuses use different color spaces or color models according to their field of application. For example, a Red-Green-Blue (RGB) color space is used for computer monitors, and a Cyan-Magenta-Yellow-Black (CMYK) color space is used for printing purpose. In addition, a Commission Internationale de l'Eclairage (CIE) color space is used to define so-called apparatus-independent colors, i.e. which can be accurately regenerated by any apparatus. CIE color spaces may be classified into CIE-XYZ, CIE L*a*b*, and CIE LUV color spaces. CIE color spaces can be easily used in computer environments so as to express a wide range of colors. For these reasons, they are extensively used in the art.
The RGB color model is commonly used to express colors in the case of digital imaging. However, the RBG color model is not apparatus-independent and renders accurate color correction difficult. Therefore, a color conversion process is usually performed to convert the RGB color model into a CIE L*a*b* color model.
Conventional color conversion techniques use a simple type of approximation, such as interpolation based on a Color LookUp Table (CLUT) or polynomial regression equation. This is to reduce the storage space necessary for conversion and improving the conversion performance. Referring to FIG. 1, the CLUT-based interpolation is one of the most widely used color conversion techniques. In operation the CLUT-based interpolation samples and stores some colors in a CLUT format during conversion of the entire color space. The remaining colors (i.e. colors which have not been stored in a table) are converted in any interpolation mode (e.g. tetrahedral interpolation, tri-linear). For the polynomial regression equation, the original conversion formula, which is complicated, is approximated into a simple type of polynomial equation to be used for color conversion. For example, the polynomials can be as defined by Table 1 below.
TABLE 1Table 3.1 The Polynomials for Color Space Conversion            1.      ⁢                          ⁢              P        ⁡                  (                      x            ,            y            ,            z                    )                      =                            a          1                ⁢        x            +                        a          2                ⁢        y            +                        a          3                ⁢        z                        2.      ⁢                          ⁢              P        ⁡                  (                      x            ,            y            ,            z                    )                      =                  a        0            +                        a          1                ⁢        x            +                        a          2                ⁢        y            +                        a          3                ⁢        z                        3.      ⁢                          ⁢              P        ⁡                  (                      x            ,            y            ,            z                    )                      =                            a          1                ⁢        x            +                        a          2                ⁢        y            +                        a          3                ⁢        z            +                        a          4                ⁢        xy            +                        a          5                ⁢        yz            +                        a          6                ⁢        zx                        4.      ⁢                          ⁢              P        ⁡                  (                      x            ,            y            ,            z                    )                      =                  a        0            +                        a          1                ⁢        x            +                        a          2                ⁢        y            +                        a          3                ⁢        z            +                        a          4                ⁢        xy            +                        a          5                ⁢        yz            +                        a          6                ⁢        zx            +                        a          18                ⁢        xyz                        5.      ⁢                          ⁢              P        ⁡                  (                      x            ,            y            ,            z                    )                      =                            a          1                ⁢        x            +                        a          2                ⁢        y            +                        a          3                ⁢        z            +                        a          4                ⁢        xy            +                        a          5                ⁢        yz            +                        a          6                ⁢        zx            +                        a          7                ⁢                  x          2                    +                        a          8                ⁢                  y          3                    +                        a          9                ⁢                  z          3                                6.      ⁢                          ⁢              P        ⁡                  (                      x            ,            y            ,            z                    )                      =                  a        0            +                        a          1                ⁢        x            +                        a          2                ⁢        y            +                        a          3                ⁢        z            +                        a          4                ⁢        xy            +                        a          5                ⁢        yz            +                        a          6                ⁢        zx            +                        a          7                ⁢                  x          2                    +                        a          8                ⁢                  y          3                    +                          ⁢                          ⁢                        a          9                ⁢                  z          3                    +                        a          10                ⁢        xyz                        7.      ⁢                          ⁢              P        ⁡                  (                      x            ,            y            ,            z                    )                      =                  a        0            +                        a          1                ⁢        x            +                        a          2                ⁢        y            +                        a          3                ⁢        z            +                        a          4                ⁢        xy            +                        a          5                ⁢        yz            +                        a          6                ⁢        zx            +                        a          7                ⁢                  x          2                    +                        a          8                ⁢                  y          3                    +                          ⁢                          ⁢                        a          9                ⁢                  z          3                    +                        a          10                ⁢        xyz            +                        a          11                ⁢                  x          3                    +                        a          12                ⁢                  y          3                    +                        a          13                ⁢                  z          3                                8.      ⁢                          ⁢              P        ⁡                  (                      x            ,            y            ,            z                    )                      =                  a        0            +                        a          1                ⁢        x            +                        a          2                ⁢        y            +                        a          3                ⁢        z            +                        a          4                ⁢        xy            +                        a          5                ⁢        yz            +                        a          6                ⁢        zx            +                        a          7                ⁢                  x          3                    +                        a          8                ⁢                  y          2                    +                          ⁢                          ⁢                        a          9                ⁢                  z          2                    +                        a          10                ⁢        xyz            +                        a          11                ⁢                  x          3                    +                        a          12                ⁢                  y          3                    +                        a          13                ⁢                  z          3                    +                        a          14                ⁢                  xy          2                    +                        a          15                ⁢                  x          2                ⁢        y            +                          ⁢                          ⁢                        a          16                ⁢                  yz          2                    +                        a          17                ⁢                  y          2                ⁢        z            +                        a          18                ⁢                  zx          2                    +                        a          19                ⁢                  z          2                ⁢        x            
In general, the CLUT-based interpolation requires a large storage space, but it is accurate and fast. In contrast, the polynomial regression requires a small storage space, but it is inaccurate and slow.
Meanwhile, a mapping table may be used for the entire color space conversion. For example, in a 24 bit color format, which is generally used in the industry, the mapping table requires a memory of 224×3=48M byte. This size is too large to be implemented. However, in a 16 bit color format, the necessary memory is 216×2=128K byte, which can be implemented easily.
In summary, conventional color conversion methods using a simple approximation technique (e.g. CLUT-based interpolation, polynomial regression equation) have a larger error when compared with the original conversion formula, which is complicated. Therefore, it is necessary to reduce the error occurring in the conventional methods.